Описывает имя, аргументы и текст программы, составляющий тело Property Let procedure, которая присваивает значение свойству.
[Public | Private] [Static] Property Let имя [(списокАргументов)] [инструкции] [Exit Property] [инструкции] End Property
Параметры
Public
Необязательный. Указывает, что процедура
Property Let доступна для всех других процедур во всех модулях. При
использовании в личном модуле (модуле, который содержит инструкцию Option
Private) такая процедура является недоступной вне
проекта.
Private
Необязательный. Указывает, что процедура
Property Let доступна для других процедур только того модуля, в котором
она описана.
Static
Необязательный. Указывает, что локальные
переменные процедуры Property Let сохраняются в промежутках времени между
вызовами этой процедуры. Атрибут Static не действует на переменные,
описанные вне процедуры Property Let, даже если они используются в этой
процедуре.
имя
Oбязательный. Имя процедуры Property Let,
удовлетворяющее стандартным правилам именования переменных, за исключением того,
что это имя может совпадать с именем процедуры Property Get или
Property Set из этого же
модуля.
списокАргументов
Обязательный. Список переменных,
представляющий аргументы, которые передаются в процедуру Property Let при
ее вызове. Имена нескольких переменных разделяются запятыми. Имя и тип данных
каждого аргумента процедуры Property Let (за исключением последнего)
должен совпадать с соответствующими аргументами процедуры Property Get.
Последний аргумент представляет значение, присваиваемое свойству с правой
стороны выражения. Тип данных последнего (или иногда единственного) аргумента
должен соответствовать типу, возвращаемому соответствующей процедурой
Property Get.
Optional Необязательный. Указывает, что этот аргумент необязателен. При использовании этого элемента все последующие аргументы, которые содержит списокАргументов, также должны быть необязательными и быть описаны с помощью ключевого слова Optional. Отметим, что правая часть выражения Property Let не может иметь тип Optional. ByVal Необязательный. Указывает, что этот аргумент передается по значению. ByRef Необязательный. Указывает, что этот аргумент передается по ссылке. Описание ByRef используется в Visual Basic по умолчанию. имяПеременной Обязательный. Имя переменной, удовлетворяющее стандартным правилам именования переменных. тип Необязательный. Тип данных аргумента, передаваемого в процедуру; допускаются типы Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (в настоящее время не поддерживается), Date, String (только строки переменной длины), Object, Variant. Если отсутствует ключевое слово Optional, могут быть также указаны определяемый пользователем тип или объектный тип. поУмолчанию Необязательный. Любая константа или выражение, дающее константу. Используется только вместе с параметром Optional. Если указан тип Object, единственным значением по умолчанию может быть значение Nothing.
инструкции
Необязательный. Любая группа инструкций, выполняемых в
теле процедуры Property Let.
Каждая инструкция Property Let должна определять по крайней мере один аргумент определяемой процедуры. Этот аргумент (или последний аргумент, если имеется более одного аргумента) содержит реальное значение, которое будет присвоено свойству при вызове процедуры, определенной с помощью инструкции Property Let.
Замечания
Процедуры Property, тип которых не указан явно с помощью
слов Public или Private, являются общими по умолчанию. Если не
используется слово Static, значения локальных переменных не сохраняются
между вызовами процедур.
Все выполняемые команды должны находиться в
процедурах. Не допускается определение процедуры Property Let внутри
другой процедуры Property, Sub или Function.
Инструкция
Exit Property вызывает немедленный выход из процедуры Property
Let. Выполнение программы продолжается с инструкции, следующей за
инструкцией вызова процедуры Property Let. В любом месте процедуры
Property Let допускается любое число инструкций Exit
Property.
Подобно процедурам Function и Property Get,
процедура Property Let является самостоятельной процедурой, которая может
получать аргументы, выполнять последовательность инструкций и изменять значения
своих аргументов. Однако в отличие от процедур Function и Property
Get, которые возвращают значения, процедуру Property Let можно
использовать только в левой части выражения для присвоения свойства или в
инструкции Let.
Пример
В данном примере инструкция Property Let используется для описания
процедуры, предназначенной для изменения значения свойства. Это свойство задает
цвет пера.
Dim CurrentColor As Integer Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3 ' Эта процедура задает цвет пера. ' Переменная CurrentColor, определенная на уровне модуля, ' содержит числовое значение, указывающее нужный цвет. Property Let PenColor(ColorName As String) Select Case ColorName ' Анализирует строку ColorName. Case "Red" CurrentColor = RED ' Красный цвет. Case "Green" CurrentColor = GREEN ' Зеленый цвет. Case "Blue" CurrentColor = BLUE ' Синий цвет. Case Else CurrentColor = BLACK ' Значение по умолчанию. End Select End Property ' Следующий код задает цвет пера с помощью процедуры Property Let. PenColor = "Red"